Data communications between computers or between computers and peripherals over long distances is typically serial rather than parallel. In other words, the data move bit by bit over a single transmission line, rather than simultaneously in groups.
Large volume, high speed data transmission is typically synchronous and in the form of a continuous bit stream. Data transfer is controlled by a timing signal, and special synchronization characters are placed within blocks of data to monitor the bit transitions.
At the processing end of the communications system, a computer receives input from multiple sources. The computer does not process these inputs directly; some sort of interface is needed to organize, store, and convert the data to a parallel form.
A typical feature of existing interfaces for serial communications data is the use of a processor interrupt once for each data sample received. This results in processing overhead, which can substantially slow the operation of the system.
Speed of processor access to incoming data is especially important for signal processing applications of serial data transmissions. For example, voice recognition systems are capable of receiving voice data and identifying the source of the voice. These signal processing applications are characterized by the use of algorithms that operate iteratively on a data item. For such systems, some sort of access device is needed at the receiving end of the data transmission system to facilitate the processor's ability to easily and quickly operate on the data. Ideally, the access device should permit processing operations to be performed in as close to real time as possible.